#ifndef BUBBLESORTCLASS_H
#define BUBBLESORTCLASS_H

#include <QThread>

#include <vector>

class BubbleSortClass : public QThread
{
    Q_OBJECT
public:
    explicit BubbleSortClass(QObject* parent = nullptr);

private:
    std::vector<int> theData;
    /**
     * @brief 对本类中的数据冒泡排序
     */
    void sort(void);

public:
    /**
     * @brief 接收要排序的向量
     * @param dataVector 数据向量
     */
    void receiveVector(const std::vector<int>& dataVector);

protected:
    /**
     * @brief 重写 run 函数
     */
    void run() override;

signals:
    /**
     * @brief 排序结果
     * @param result
     */
    void sortResult(std::vector<int> result);
};

#endif // BUBBLESORTCLASS_H
